Considerable research and development have been devoted in recent years to information processing systems in which information processing is executed upon connecting a host computer and a printer together through an interface such as the Centronics interface or a network such as Ethernet, and such systems are now in practical use.
In a case where a laser printer, for example, is used as the printer connected to the host computer in an information processing system of this kind, the laser printer analyzes print data that enters the laser printer from the host computer. The laser printer then expands the entered print data into bitmap data as output data and causes a laser beam, which has been modulated based upon the expanded bitmap data, to scan across and expose a photosensitive drum, thereby printing the image represented by the data.
At least one application program (referred to simply as an “application” below) relating to the printing functions of printers is installed in the host computer. Also installed in the host computer is a program (referred to as a “printer driver” below) for exercising more detailed print control by interceding in print processing from such an application to a specific printer.
The printer driver usually is distributed in the form of a group of files (referred to generically as an “installation set”) having a plurality of program files and data files. The introduction (referred to as “installation” below) of the printer driver into the host computer for the purpose of establishing a state in which the printer driver can be used is usually controlled by an operating system that has already been installed in the host computer. Processing whereby a copy of the installation set and information related to the printer driver are registered in the operating system is executed by an operation performed by the user or by a program in the installation set. The term “installation set” refers to a program data group used when an installation is made to the computer. In embodiments that are explained hereafter, the program data group includes at least one among a printer driver module, key data and function expansion module.
Information processing systems have undergone further development, and print server systems in which a host computer connected to a printer is adopted as a print server and the printer is made to execute printing based upon a request from a client computer connected via a network also have also similarly undergone research and development and some have been put into practical use.
Installing a printer driver utilizing a Point & Print function has the following advantages in a case where the user who operates the client computer 20 performs printing by designating a shared printer: (i) the operation for installing the necessary printer driver can be performed automatically; (ii) the updating of the driver configuration information in the print server is reflected on the side of the client computer automatically; and (iii) when the printer driver is installed in the client computer by an operation performed by the user, a storage medium such as a CD-ROM storing the printer driver is unnecessary.
As an example of an information processing technique for installing a printer driver, it has been attempted to add and delete a function expansion module, such as program files and data files, that is for the purpose of expanding the functions of the printer driver after the printer driver has been installed.
Further, in a case where a printer driver that is to undergo an expansion of functionality has already been downloaded to a client computer by Point & Print, it has been attempted to add a module, which has been added on by the print server, to the printer driver in the client computer automatically to thereby install the additional module.
Furthermore, as an example of the prior art, the specification of Japanese Patent Application Laid-Open No. 2003-058378 discloses an information processing technique in which when different programs of both old and new versions are installed with regard to a program that has already been installed, normal operation of these programs is made possible.
Since a mechanism whereby the functions of a printer driver are expanded by additionally installing a function expansion module in a printer driver that has already been installed provides the user with added value, it has been contemplated to furnish, as extra-cost software, function expansion modules and a program for additionally installing these modules. With regard to such follow-up expansion of functions, the protection of the commercial value of software has been sought as by attaching a certain condition to inhibit utilization of the mechanism through which printer driver functions are expanded.
With these conventional attempts, however, a function expansion module for implementing expansion of the functions of the printer driver in the client computer on the network is installed without limitation when the printer driver that has been stored in the print server is shared with the client computer owing to Point & Print. In a case where a program module that makes expansion of functions possible is additionally installed, it is necessary to prevent the unlimited distribution of the program module to thereby protect the commercial value of the program module. The prior art, however, does not take this point into account. In other words, in instances where a function expansion module for expanding the functionality of a printer driver is furnished as extra-cost software, a problem which arises is a decline in the commercial value of the software.
The present invention has been devised in order to solve the problems mentioned above. Specifically, a first object of the present invention is to provide an information processing technique for controlling whether data (referred to as a “key file” or “key data” below), which is necessary to activate a program module for expanding the functions of a printer driver, or a function expansion module is to be included in an installation set that is to be additionally installed, thereby preventing the function expansion module from being utilized in another information processing apparatus unconditionally.
A second object of the present invention is to provide a print control technique in which when key data becomes necessary in order for a function expansion program for expanding the functions of a printer driver to operate and the key data does not exist, a print request is processed upon inhibiting the expansion of functions, thereby protecting the commercial value of a program module that is for expanding functionality.